1. Field of the Invention
The present invention relates to data networks and specifically to the forwarding of packets in computer networks.
2. Background Information
A computer network is a geographically distributed collection of interconnected communication links for transporting data between nodes, such as computers. Types of computer networks range from local-area networks (LANs) to wide-area networks (WANs). LANs are computer networks comprising e.g., Ethernet links that typically connect nodes in the same general physical location, usually within a building or a campus, whereas WANs are computer networks comprising e.g., Asynchronous Transfer Mode (ATM) links that typically connect nodes over a large geographical area.
Communication among the nodes of a network is typically effected by exchanging discrete protocol data units (PDUs), such as packets or frames, between the communicating nodes according to a hierarchical model of predefined protocols. The hierarchical model often used is based on the Open Systems Interconnection (OSI) reference model of hierarchical communication. This model is comprised of seven-layers where each layer is defined by the set of functions it performs and the services it provides.
Nodes within a LAN often communicate with one another at the link layer, which is Layer 2 (L2) of the OSI reference model. The link layer is concerned with physical addressing, network topology, line discipline, link error checking, ordered delivery of link-layer packets (bridged PDUs), and link flow control to ensure the packets are reliably transferred across a link, such as a physical connection between two end nodes. A bridged PDU typically comprises a link-layer header, containing L2 addressing information, and data. LANs are often connected to one another through a bridge, which is a network device that enables packets to be transferred from one LAN to another.
In networks where communication at the link layer may not be possible, nodes often communicate with one another at the network layer or Layer 3 (L3) of the OSI reference model. The network layer provides connectivity and path selection between two end nodes. Routing protocols residing in the network layer select optimal paths through a series of interconnected networks based on the destination network address. Individual network-layer protocols then move data, commonly called network-layer packets (routed PDUs), in accordance with the network-layer protocol along these paths. A routed PDU typically comprises a network-layer header, containing L3 address information, and data. L2 addressing information is typically not included in a routed PDU.
Networks that employ different technologies to effect communication between the nodes in the network are often called hybrid networks. For example, a network that comprises both an ATM infrastructure and an Ethernet infrastructure that are used to effect communication among various nodes in the network is often called a hybrid Ethernet-ATM network. The ability to translate between two or more dissimilar technologies for the purpose of achieving effective interoperability is commonly called interworking. For example, the above-described hybrid Ethernet-ATM network may contain a network device that connects the ATM infrastructure with the Ethernet infrastructure and is configured to interwork the two infrastructures such that data can be exchanged between them.
In some hybrid networks, geographically dispersed LANs are connected to one another through a WAN via a connection, such as an ATM virtual connection (VC). Typically, packets passed over the connection are encapsulated at a sending end (node) of the connection, transferred over the connection in encapsulated form, then decapsulated at a receiving end of the connection, in accordance with an encapsulation protocol. One encapsulation protocol commonly used to encapsulate packets transferred over ATM VCs is the Multiprotocol Encapsulation Over ATM Adaptation Layer 5 protocol described in Request For Comments (RFC) 1483 and RFC 2684 (hereinafter referred to as “RFC 2684”), which is available from the Internet Engineering Task Force (IETF), http://www.ietf.org, and is hereby incorporated by reference as though fully set forth herein. RFC 2684 can be used to encapsulate both bridged and routed PDUs to enable the transfer of link-layer and network-layer packets, respectively. As used herein, bridged and routed encapsulation refers to the technique of encapsulating bridged and routed PDUs, respectively.
FIG. 1 is an example of a hybrid network 100 that employs RFC 2684 routed encapsulation to transfer PDUs from one LAN to another LAN over a VC. Network 100 comprises two geographically dispersed LANs 120a, 120b interconnected through intermediate nodes, such as routers 130a, 130b, and a WAN 140 comprising a plurality of additional intermediate nodes 145 that make up e.g., an ATM cloud. In particular, virtual connection (VC) 170 provides a point-to-point “logical” connection that connects router 130a with router 130b through WAN 140. Moreover, routers 130a and 130b are configured to send and receive packets over VC 170 in accordance with RFC 2684 encapsulation. For example, a network-layer packet sent from node 110a to node 110d is forwarded to router 130a which, in turn, encapsulates the packet in accordance with RFC 2684 routed encapsulation, and forwards the encapsulated packet over VC 170 to router 130b. Router 130b receives the packet, decapsulates it, and forwards it over LAN 120b to node 110d. Likewise, a link-layer packet sent from node 110a to node 110d is handled in a similar manner except that it is processed in accordance with RFC 2684 bridged encapsulation instead of RFC 2684 routed encapsulation.
One problem with many encapsulation techniques is that they are not interchangeable. For example, the bridged and routed encapsulation techniques described in RFC 2684 are not interchangeable in the sense that a packet encapsulated using one technique, e.g., routed encapsulation, cannot be decapsulated using the other technique, e.g., bridged encapsulation. Thus, for example, if routers 130a and 130b are configured to encapsulate packets according to RFC 2684 routed encapsulation, if either router is reconfigured to encapsulate packets using RFC 2684 bridged encapsulation, the other router must also be reconfigured.
Another problem with some encapsulation techniques is that the encapsulated packet may not contain sufficient information to enable the PDU contained in the packet to be properly forwarded. For example, suppose router 130a is reconfigured as an Ethernet attached router adapted to communicate at the link layer via link-layer packets with node 145a. In addition, assume that the endpoint of VC 170 extends from router 130b, which is configured as an ATM attached router, to node 145a, which is configured as a L2 switch. Moreover, assume router 130b has a routed interface associated with VC 170 that is configured to handle RFC 2684 routed-encapsulated packets, containing network-layer address information, over the connection. One problem with this configuration is that routed-encapsulated packets originating from router 130b, transferred over VC 170 to L2 switch 145a and destined for router 130a do not carry the necessary link-layer (L2) address information needed to switch the packets at the L2 switch 145a to router 130a. One way to deal with this problem is to encapsulate the packets at router 130b using RFC 2684 bridged encapsulation, however, doing so would necessitate reconfiguring router 130b to handle RFC 2684 bridged encapsulation. In arrangements where the routers are maintained by an entity that is different than the entity providing the wide-area network, such as a customer/service provider arrangement, having to reconfigure both routers may not be desirable.